The Fediverse @ Your Library

Alex Byrne
Youth Services Librarian
Mastodon: @TheyofHIShirts at glammr.us

for

Seattle GNU/Linux Conference (SeaGL)
4 November 2022
#SeaGL2022

Before we get into the content, I'd like to acknowledge that the SeaGL conference is taking place on the unceded land of the first people of Seattle, the Coast Salish people and their descendants, who have been the ancestral keepers of the land since time immemorial. We thank them for their stewardship and immense contributions to the state and local history, culture, economy, and identity of Washingtonians. I know that land acknowledgements aren't a substitution for action, but it is a small gesture of respect for those who were here before us and still continue to exist today.

As far as I know, there are no content warnings associated with this talk. If that turns out to be wrong, by all means, back out or otherwise take care of yourself.

A Small, Simple Proposal

I'd like to start this talk with an idea that I think is brilliant and would do good things for raising the profile of both public libraries and free and open source software. As I'm based in the U.S., this talk assumes the existence of tax-funded libraries existing as part of infrastructure. If this isn't the case for you, if you have it, substitute the appropriate public institution that you have locally.

I'd like to see every public library host at least one node of the Fediverse. It could be any of the possible packages out there, whether it's talking Zot, OStatus, or Activitypub, and could be anything from microblogging to media sharing. [Since I'm talking to people who understand what the Fediverse is by saying it, we skipped over the explaining where we talk about the Fediverse as a series of independent applications that share communication protocols, and thus can interact with each other. I go into a little more detail about that in the A-Side of this presentation, "Okay, Libraries, Let's Destroy Facebook!" that I did for the Washington Library Association Conference in 2022.]

More realistically, however, given the constraints of budgets and staff, public libraries are probably going to gravitate toward primarily text-related services, so the talk is going to focus more on those than on media sharing more widely, as cool as I think it would be for a public library to have the budget and bandwidth to host Pixelfed, Funkwhale, or PeerTube instances.

The Biggest Drawback

Now, one of the touted benefits of decentralized social media is that anyone can spin up their own instance and exert full control over it, rather than being beholden to some corporation and its potentially vague or inconsistent moderation policies or to copyright strike-bots that take forever to appeal the decisions of.

However, as you can see from these screenshots of the installation instructions of three ActivityPub-based microblogging services [that would be the install pages of Mastodon, Pleroma, and Misskey], the promises of freedom and control make certain assumptions about the people who will be exercising that freedom and control, namely:

  • They have access to a Linux machine,
  • They are comfortable using the command line,
  • They are willing to get a domain name for themselves,
  • They actually _want_ to go through the process of installing, maintaining, and possibly customizing an instance.

Those are some fairly steep startup costs, and that's assuming that everything executes correctly in the install process and there's no troubleshooting required to stand the instance up.

If a person dosen't want to learn the technical aspects of server administration and use of the command line, the other option offered to them is to pay someone else to do the technical administration and possibly pay someone else to do any coding or customizations for them. This is not a bad solution, but not a lot of people want to pay for a domain name and an additional amount per month of hosting fees just because they're curious about what it would be like to run their own social network.

Some Progress…

There is some progress on making running your own social network within the reach of a curious person who wants to try it out:

…With Caveats

There's more work than just this on trying to make the process simpler, but even with all of this work, there's still some caveats involved. A lot of these projects are meant to be small-scale between people who trust each other (and who trust that the admin setting things up isn't going to use their admin powers for nefarious reasons), and while many of these projects aim to remove most of the heavy lifting and configuring through the use of sensible defaults, it doesn't mean they've achieved secure, self-updating, plug-and-play systems that Just Work. There's still a startup cost involved.

The Next Biggest Drawback

The other thing that discourages people from spinning up their own instances is that being an administrator and moderator means potentially having to deal with other people. Some people have friends who will want to do that, others might have a governance system ready to deploy, but ultimately, a popular instance can quickly turn from a fun project into a nightmare of escalating costs and of escalating tensions. Darius Kazemi's "Run Your Own Social" suggests 50-100 people as a maximum amount of users on your instance, with the implication that the actual optimal number might be smaller still. To achieve that kind of decentralization goal, the number of instances would have to skyrocket, and people would have to want to move from big instances to small ones, and possibly support their server costs in the process. To an audience that is used to being the product, where they give data in exchange for a service, or that doesn't have much to throw at a crowdfunding account, starting to pay for what had been previously free is probably not going to go over well, no matter what kind of bulletproof appeal to their morals or ethics appears. [FediDB's network page showcases how the main or first instances of certain protocols, like Mastodon or Pixelfed, have quickly grown to have tens of thousands or hundreds of thousands of users. Who wants to moderate or administer a server with that many users on it (and especially for the likely small amounts of support money that will be coming in to defray costs)?]

Public Good In Public Places

As a third option between gathering the technical knowledge (and paying money) to run your own social network or paying someone more money to host your social network, I think the public library is in a prime position to mitigate drawbacks and make the process of creating small Fediverse instances a still-easier process for a member of the curious public, and to do so at no additional costs than what they already pay in taxation to support public libraries.

Why A Public Library?

For U.S. audiences, there's probably a public library within a short commute of where you are, and many public libraries are actively looking for ways that they can do local projects, or projects with primarily local impacts. By trying to attract people from the local area with specific interests, rather than from across the world, public library-hosted instances can also help keep numbers down and avoid overburdening moderators and admins with more people than they want to manage.

Most public libraries are also staffed with IT personnel who have command-line comfort, have server infrastructure, and have gone through the process of getting and maintaining domain names and certificates. And, perhaps most importantly, the IT staff at a library are usually getting paid to do all of these things through public support and funding, so there isn't a worry about whether the tip jar will have enough in it to cover costs for another month.

Finally, libraries are at least nominally interested in the privacy and security of their users, so being able to offer an alternative to the algorithm-driven rage-machines that are overrun with ads and that suck data to their own nefarious ends definitely has an appeal.

Several Small, Simple Proposals

So let's update the proposal from the beginning of the talk to encourage the idea that one Fediverse instance is better than none, but what would be even better is if the public library could provide the infrastructure so that _many_ instances can be spun up by the public and their interests.

Issues to Work Out

This idea is not all sunshine and roses, unfortunately. As much as I would like to say that every public library has the staffing, capacity, and infrastructure to be receptive to the idea of making Fediverse instances, that's not necessarily true. A proposal such as this might have to come with some sweetening of the pot where there's grant funding to pay for additional infrastructure and time, or a company will provide free hosting to a library up to a certain point of space and/or time so that a cash-strapped library can still experiment and offer something to their community.

There may also have to be some advocacy work from people both inside and outside the library to get this program off the ground. Some libraries are suspicious of anything that involves technology developed in the 20th century, much less anything being worked on in the 21st. Winning them over with the potential of having local people doing local things may take more than one meeting, more than one comment period, and more than one staff person to bring into existence. Showing that there's a interest from multiple communities in your area makes a library board and administration more likely to pursue a partnership or a proposal.

Next, depending on the setup of the instances, a library might be required to retain anything created on their servers or with their resources for a specified period of time and make that data available to a properly submitted public records request or law enforcement demand, including any data that the person who sent it might have believed was private. Figuring out how to offer a service and maintain maximum user privacy is an important discussion, and the library may have counsel who can help with those discussions and make recommendations to achieve these ends, once you have convinced them it is a good idea to try, but the usual warning about how nothing is ever truly private on an instance you don't own is still in effect here.

Related to data retention is the people problem. For as much as we'd all like to live in a place where our neighbors and ourselves are ideologically compatible, or at the very least, if we're not, we can politely ignore each other or disagree in productive ways, most communities have (or may attract) at least one jerk or troll who will want to use the network for behavior that is against the library's rules of conduct and/or applicable laws. Someone has to take out the trash when that happens, and determining who is responsible for that and writing into existence what procedures need to be followed to achieve that end will be important.

[After this presentation was given, with the explosion of Fediverse instances not showing much signs of stopping as people joined big instances and then started spinning up their own when .social and other large places were still giving them the same problems they had experienced on Twitter, Denise Paolucci, a founder of Dreamwidth Studios, wrote up a short guide about an instance administrator's potential obligations to avoid legal liability for someone running a Fediverse node in the United States with regard to items like Digital Millenium Copyright Act takedown notices, child sexual exploitation material, the requests of foreign and domestic governments for data and posts of citizens and residents of their countries, the Stored Communications Act, the Children's Online Privacy Protection Act, the General Data Protection Regulation, the Digital Services Act, the California Online Privacy Protection Act, FOSTA/SESTA, and other things. It's not a legal guide, because not a lawyer and not legal advice, but there's a good chance that the library, or the library's counsel (and they have counsel, believe me) is already familiar with all of these obligations and has structures in place for them. Denise's post is illustrative, however, about how much goes into running your own social site that isn't immediately obvious. For someone who has reasons not to want to roll their own, having the library provide a lift could be the difference between full participation and none at all. But it will also mean having to hammer out what happens when content that falls under these jurisdictions appears on the timeline, or worse, is posted by a user who believes their speech rights trump any and all other considerations. Having a process in place to handle it, knowing who is going to be handling it, and making sure that nobody stares into the abyss for too long are extremely important things.]

Finally, the library person who you start an idea with may not be the library person you finish an idea with. There are very few Benevolent Dictators For Life in the library world. Promotions, transfers, new jobs in new systems, retirements, and the like happen frequently, so at any phase of development, there may be an entirely new person who has to be onboarded at very little notice. Which might also require a pivot from your current reason why to do this to an entirely new one, as well.

Philosophy Questions

There are also bigger issues you might encounter when making a proposal to your public library about adding Fediverse capacity. If there are enough instances spun up by enough people, eventually someone's going to hit on a great idea or become a local celebrity (or a Fediverse celebrity) and their instance is going to skyrocket past the Kazemi Kap. What happes then? Whatever the answer to that question might be, having a plan for the eventuality that somoene is going to hit it big is important to work out.

There's also the question of what the end goal of federated social networks is. If the point is decentralization and spreading things out so that everyone who wants one can get one and control it, then we're back at the biggest drawback: only those who have the skills and the desire will do the thing, and the rest of us will either have to find someone compatible or go without. If, as Alyssa Rosenzweig posits in "The Federation Fallcy," decentralization is already a lost cause and people will centralize naturally because that's where their friends are, the proposed solution is to democratize the situation, and produce governance accordingly that allows the members of the democracy to guide and shape policy and procedure. Democratization has failure points, as many of us in this timeline have seen, and one of the most pernicious ones is where a committed minority can gain outsize power through their commitments and reliance on a mostly apathetic or uninterested population not stopping them from grabbing and consolidating power until it s too late. We can see a sterling example of a minority exercising outsized power by reading PEN America's report "America's Censored Classrooms," about proposed and passed legislative bills in the United States that demand many aspects of education abandon reality and instead substitute a hagiographic fiction to be taught as the official history or position. One potential counter to democratization creating a mob or allowing a minority to take over is to produce a "civil service," as it were, that is ideally meritocratic and technocratic (even if in practice both of those are impossible) and operates by putting people with appropriate credentials and skills in places that are insulated from the winds of politics and giving them a set of independent professional ethics to operate from. Library workers and educators are both trying to position themselves as these professional, ethical technocrats an an attempt to insulate themselves from the howling and often contradictory storms outside, but the act of turning over decisions about education and what books are stocked in the library to the trained, knowledgeable professionals is often the very thing the outsize minority groups decry as fundamentally undemocratic. Thus, decentralization is proposed as the solution to professionalization and the argument loops again.

This tension also manifests in questions about whether the ethics of public libraries and FLOSS allow for decisions to be made at the code level about how the resources and tools get used. Historically, public libraries and FLOSS have been aligned in their thinking, adopting the position that it is the person using the tool, rather than the tool itself, that carries any moral responsibility for the effects of using the tool. For libraries, this looks like "the library offers programming and materials to everyone, and because everyone is free to choose to attend or not attend a program, or to interact with or not interact with any of the materials on the shelves, the materials themselves and the library are blameless for any of the consequences of those decisions." For the Fediverse, it's "any instance is free to defederate with any other instance for any reason, any user may block any other user for any reason, any person may fork the code and build their own version of it, and because of this, the tool itself is blameless for any of the consequences of those decisions." Ayman Mansoux and Roel Roscom Abbing's "Seven Theses On The Fediverse and the Becoming of FLOSS" explores questions of whether code and applications can truly be neutral and blameless in a world that is much more aware of how claiming neutrality is a political decision. On the library side, a robust debate has been going on for years about what library neutrality even means, much less whether or not it is a position worth taking. The American Library Association commissioned an intellectual freedom and social justice working group to come up with potential alternative ethical and practical frameworks for neutrality, recognizing that the traditional library position is much less defensible in a world where previously-suppressed voices are now part of the conversation [PDF]. There are some extra complications to this question for public libraries because there's case law and such about what a "limited public forum" like a public library may or may not restrict regarding collections, programs, and spaces, but the current question seeking answers is: What affirmative requirements do code maintainers and/or public libraries have to make their tools and collections unwelcoming to people who would use them for oppressive purposes? As we said before, taking out the trash is an essential part of maintaining a healthy network. Having a shared (likely written) understanding of what qualifies as trash and what steps can be taken at what points helps immensely toward achieving that goal, as well as signaling to interested parties what amount of work will be expected from them to make the space usable and safer for themselves.

Imagining New Horizons

Even with these complications and big philosophical debates, I still think it's a worthwhile endeavour to encourage and support public libraries with resources that will allow them to offer Fediverse nodes and/or accounts to their service population. Moving social media away from siloed, corporate-controlled, ad-algorithm-and-outrage driven instances into smaller and more intentionally created and moderated communities is a net benefit for everyone, keeping conversations inside their contexts and delivering more tools to users and moderators to curate their experience themselves. Public libraries have promoted themselves as places where communities can access resources they would not normally be able to afford, build communities of people with shared interests to provide mutual aid and knowledge sharing, and facilitate interactions between the population at large and their civic institutions. All of these things are possible with a public library that offers Fediverse instances and/or accounts.

For example, a civic interest group or a city office might put up an instance of Smalltown, a Mastodon/Hometown fork with a focus on bringing local people together for asynchronous discussion of local issues, without necessarily federating with the larger Fediverse. Smalltown might also be good for Parent-Teacher-Student Organizations and Associations or other local interest groups.

Someone who's curious about code and customization, or server administration, or what it would take to moderate a network could spin up an instance for themselves and their friends and find out whether or not they like doing it enough to pursue it further, without having to put in the monetary investment and gain the large amount of prerequisite knowledge about using and administering Linux systems and web application stacks before starting.

Writers of all sorts could create blogs, newsletters, or other places to put their work and then choose who they want to share it with using Writefreely, and use the federation aspects of it to follow other writers at different instances.

And, of course, because it's a public library, there will be people who want to talk about books, so there's a good chance someone will want to put into existence an instance of Bookwyrm so that they can post their book reviews, shelves, and possibly run a book club or similar, doing the things they were doing on a now Amazon-owned platform but without giving Amazon even more of their data to be mined.

The possibilities are vast and tailorable to each community based on their interests. That's aiming for the highest promises of both federation and public libraries together. In the near future, I'd like to see more of The Fediverse @ Your Library. With your help, we can get there.

Questions and Answers

Q: As the spouse of a librarian, it's my experience that the majority of public libraries do not actually have strong IT resources, but instead outsource most of their IT to contract companies who specialize in this market. Have you considered targeting this pool of contractors, instead?
A: That would certainly work. If a library is already paying a company to do much of their IT work and hosting, I'm pretty sure those companies would be more than happy to learn how to and spin up some Fediverse nodes if the library asks them to and pays them to do it. Or, if a library already outsources its own IT to other providers, then they could take advantage of the current crop of hosting providers and pay them to do the instance hosting and technical administration. It's a question of budgets and priorities.
Q: It's clear what the benefit of this is for Fediverse users. However, how does hosting nodes fit within the mission of the library? How do you make a case for it in therms that will support staffing and budget?
A: I made much of the case for libraries to adopt in the A-Side of this presentation, but the short answer is that libraries are looking for things they can do for their localities and communities, and they're interested, at least in theory, in keeping people's data and browsing private, so offering alternatives where people can still do things and not have to give up their data to a company to harvest should be something they're interested in exploring and adopting.
Follow-up Q: Most libraries feel that their responsibility to provide digital resources stops with providing generic reservable computer terminals. Making the case that they should provide a social network requires making the case that they should provide online services at all (except for borrowing books).
A: In my personal opinion, I believe the position of libraries as warehouses is unteneable, and that libraries that provide services to their communities will ultimately come out ahead, both in public opinion polls but also in elections when funding comes to call. For example, in some very rural areas, libraries have adopted use of empty space in between television channel broadcasts to provide wireless Internet services, since the library is often the place with the biggest and most stable pipeline in the community. It would be a very different community if someone could go to any city park or town park and get free library-provided WiFi while they were there using TV whitespace. [The library would still need to think about what services they wanted to provide and see if it was in the mission of the library, but I feel like the library could do a lot better about offering services that are important and local to their communities.]
Q: The current state of Fedivese apps is "Needs UX work." Given the low technical aptitude of the average library patron, wouldn't such an effort also require funding an effort to create a UI targeting novice users?
A: Absolutely, and that sounds like the kind of thing to apply for a local grant for. There may be community foundations that would be willing to fund developer time to create better UX for a platform that can both be used by the library that funds it and contributed back to the codebase for others to use and make their own instances more user-friendly as well. It might not be something that can be funded out of the library's budget, but getting the library and/or its foundation to help with finding and writing a grant applicaiton for UX improvements would make a stronger case for it getting funded.
Q: Did you mention BookWyrm for local book clubs? If you've looked at it, are there any features you think it's lacking?
[The slide of the various services was displayed during the talk, but for time reasons, explanations of what those services were and how they might fit into library work was cut.] A: Yes, I think Bookwyrm would be great for local book clubs. A thing that I think is missing from it right now is the inability to import records from local library collections, rather than having to painstakingly code in any new books by hand. [For clarity, Bookwyrm does have databases, including the Internet Archive's OpenLibrary, that a book's metadata can be imported from, so there's a good chance that most books can be added to an instance with an import. It would be even better if it isn't available in OpenLibrary or Inventaire, that someone could say "Hey, who's your local library?" and then be able to search their catalog for the metadata and import it. That's not very easy, however, because public libararies and academic libraries both have very different systems. You could proooooobably put in something like Z39.50 or try to implement SRU/SRW using CQL in Bookwyrm, but that's the kind of thing where I would want someone who knows what they're doing to help, and probably an XML->JSON parser or similar "format this in something that's easier to manipulate and retrieve" happening behind the scenes so that what comes back to the person making the query is something that's ready and able to be imported if it turns out to be what they're looking for. And that's on the assumption, of course, that the people who sold the library the records don't cry foul that those records are Intellectual Property and aren't licensed for reuse in someone else's project. All of this didn't get included because I had thirty seconds left before the end of the Questions and Answers section.]

The whole "The Fediverse @ Your Library" idea, both A-Side and B-Side, came from Aniwha Ferrari's Out of the Library Talk "Decentralizing Social Media: How Libraries Can Destroy Facebook". The thought of decentralized services was intriguing enough, and Aniwha suggested it as something for the library world to undertake, that I decided to undertake a slightly deeper examination of how libraries might not just be people who use Fediverse services in their personal and professional lives, but whether it would be feasible for libraries to become instance hosts so that others could also join the Fediverse.

The nice thing about hypertexting your presentation is that you can drop links to the places you're pulling from right in the presentation, rather than having to wait until the end for your slides. If you have other resources, or if your library decides to take up the possibility of instance hosting, I will be very interested in all the details, technical and social, as to how it went and how it's going. My contacts on social media are in the bar to the left, but if you find TheyOfHIShirts on glammr.us, you'll be able to get in contact, and possibly get some other means of contact for sendiiing along documents and fuller accounts. Let me know how things go.

It also turns out that there were several other potentially relevant talks to this one at SeaGL in 2022. Bob Murphy gave "A Brief Introduction To The Fediverse", and Ernie Smith's keynote about publishing and choice of platform pointed out many of the benefits (and drawbacks) of being the person who maintains control over your own material. So this presentation and its associated everything is always one voice in a conversation with others in and around the Internet and the library world. I think of these presentations as springboards to get people into the greater conversation, and I hope to continue that conversation with all of you into the future. Thanks for reading!